Virtualization is a technology that allows one computer to do the job of multiple computers by sharing resources of a single computer across multiple systems or processes. Through the use of virtualization, multiple operating systems and applications can run on the same computer at the same time, thereby increasing utilization and flexibility of hardware. Virtualization allows application processes to be decoupled from underlying hardware, thus resulting in multiple virtual machines sharing the same physical hardware. Containers are an operating system level type of virtualization where the operating system kernel is shared between container instances, and each container instance is not visible to other container instances.
Applications and processes running on a shared resource need a secure mechanism for sharing data and information that protects the security of the underlying shared resource.